package ihm_clarifiee.sauvegarde;

public class Originator<T> {
	
	private T state;
	
	/**
	 * Constructeur
	 * @param state
	 */
	public Originator(T state){
		this.state = state;
	}
	
	public void setState(T state){
		this.state = state;
	}
	
	/**
	 * Cr�er un memento avec un �tat
	 * @return le memento 
	 */
	public Memento<T> saveToMemento(){
		return new Memento<T>(state);
	}
	
	/**
	 * Restaure l'�tat � partir d'un memento
	 * @param m : memento � restaurer
	 */
	public void restoreFromMemento(Memento<T> m){
		this.state = m.getSaveState();
	}
	
}



